package pers.wensheng.patterns.creator_pattern.prototype_pattern.shallow_clone.demo1;

/**
 * 具体原型类
 * 克隆是不走构造方法的。
 */
public class Realizetype implements Cloneable {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Realizetype() {
        System.out.println("对象被创建了");
    }

    /**
     *  原型模式
     *  底层不是通过 new 对象的方式去克隆一个新对象，实现这个方法是 浅克隆
     * @return 浅克隆
     * @throws CloneNotSupportedException
     */
    @Override
    protected Realizetype clone() throws CloneNotSupportedException {
        System.out.println("具体原型复制成功");
        return (Realizetype) super.clone();
    }
}
